#include "iec_sys.h"

/* UTF-8 is recommended. */

#if (ENABLE_PKT_PARSER)

char * const mstfncode[] = {
	"复位远方链路",
	"复位运动终端的用户进程",
	"心跳包",
	"传送数据",
	"传送数据，无回答帧",
	"",
	"",
	"",
	"",
	"召唤链路状态", // 9
	"召唤 1 级数据",
	"召唤 2 级数据",
};


char * const slvfncode[] = {
	"确认",
	"链路忙，未接收到报文",
	"",
	"",
	"",
	"",
	"",
	"",
	"以数据响应请求帧", // 8
	"无所召唤数据",
	"",
	"以链路状态或访问请求回答请求帧",
};

// 传输原因字符串
char * const COTinfo[] = {
	"",
    "周期数据，循环数据",
	"背景扫描",
	"突发",
	"初始化",
	"请求，被请求",
	"激活（遥控，总召）",
	"激活确认",
	"停止激活",
	"停止激活确认",
	"激活终止", //0x0a
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"响应总召唤",
	"响应第 1 组召唤",
	"响应第 2 组召唤",
	"响应第 3 组召唤",
	"响应第 4 组召唤",
	"响应第 5 组召唤",
	"响应第 6 组召唤",
	"响应第 7 组召唤",
	"响应第 8 组召唤",
	"响应第 9 组召唤",
	"响应第 10 组召唤",
	"响应第 11 组召唤",
	"响应第 12 组召唤",
	"响应第 13 组召唤",
	"响应第 14 组召唤",
	"响应第 15 组召唤",
	"响应第 16 组召唤", //36
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"未知的类型标识",
	"未知的传送原因",
	"未知的应用服务数据单元公共地址",
	"未知的信息对象地址",
};



// ASDU 字符串
char * const ASDUTYPinfo[] = {
	"",
	"M_SP_NA_1 <1>单点信息",
	"M_SP_TA_1 <2>带时标的单点信息", 
	"M_DP_NA_1 <3>双点信息",  
	"M_DP_TA_1 <4>带时标的双点信息", 
	"M_ST_NA_1 <5>步位置信息", 
	"M_ST_TA_1 <6>带时标的步位置信息", 
	"M_BO_NA_1 <7>32 比特串 ", 
	"M_BO_TA_1 <8>带时标的 32 比特串 ", 
	"M_ME_NA_1 <9>测量值 ，规一化值 ", 
	"M_ME_TA_1 <10>带时标的测量值 ，规一化值 ", 
	"M_ME_NB_1 <11>测量值 ，标度化值 ", 
	"M_ME_TB_1 <12>带时标的测量值 ，标度化值 ", 
	"M_ME_NC_1 <13>测量值 ，短浮点数 ", 
	"M_ME_TC_1 <14>带时标的测量值 ，短浮点数 ", 
	"M_IT_NA_1 <15>累计量 ", 
	"M_IT_TA_1 <16>带时标的累计量 ", 
	"M_EP_TA_1 <17>带时标的继电保护装置事件", 
	"M_EP_TB_1 <18>带时标的继电保护装置成组启动事件", 
	"M_EP_TC_1 <19>带时标的继电保护装置成组输出电路信息", 
	"M_PS_NA_1 <20>带变位检出的成组单点信息", 
	"M_ME_ND_1 <21>测量值 , 不带品质描述词的规一化值 ", 
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"M_SP_TB_1 <30>带 CP56Time2a 时标的单点信息", 
	"M_DP_TB_1 <31>带 CP56Time2a 时标的双点信息", 
	"M_ST_TB_1 <32>带 CP56Time2a 时标的步位置信息", 
	"M_BO_TB_1 <33>带 CP56Time2a 时标的 32 比特串 ", 
	"M_ME_TD_1 <34>带 CP56Time2a 时标的测量值 ，规一化值 ", 
	"M_ME_TE_1 <35>带 CP56Time2a 时标的测量值 ，标度化值 ", 
	"M_ME_TF_1 <36>带 CP56Time2a 时标的测量值 ，短浮点数 ", 
	"M_IT_TB_1 <37>带 CP56Time2a 时标的累计量 ", 
	"M_EP_TD_1 <38>带 CP56Time2a 时标的继电保护装置事件", 
	"M_EP_TE_1 <39>带 CP56Time2a 时标的继电保护装置成组启动事件", 
	"M_EP_TF_1 <40>带 CP56Time2a 时标的继电保拌装置成组输出电路信息", 
	"",
	"",
	"",
	"",
	"C_SC_NA_1 <45>单点命令 ", 
	"C_DC_NA_1 <46>双点命令 ", 
	"C_RC_NA_1 <47>调节步命令 ", 
	"C_SE_NA_1 <48>设定值命令 ，规一化值 ", 
	"C_SE_NB_1 <49>设定值命令 ，标 度化值 ", 
	"C_SE_NC_1 <50>设定值命令 ，短浮点数 ", 
	"C_BO_NC_1 <51>32 比特串 ", 
	"",
	"",
	"",
	"",
	"",//56
	"",
	"C_SC_TA_1 <58> 带 CP56Time2a 时标的单点命令",
	"C_DC_TA_1 <59> 带 CP56Time2a 时标的双点命令",
	"C_RC_TA_1 <60> 带 CP56Time2a 时标的步调节",
	"C_SE_TA_1 <61> 带 CP56Time2a 时标的设定值命令，归一化值",
	"C_SE_TB_1 <62> 带 CP56Time2a 时标的设定值命令，标度化值",
	"C_SE_TC_1 <63> 带 CP56Time2a 时标的设定值命令，短浮点数",
	"C_BO_TA_1 <64> 带 CP56Time2a 时标的 32 比特串",
	"",
	"",//66
	"",
	"",
	"",
	"初始化结束；子站上送此报文表示链路初始化完成",//70
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"", //80
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"", //90
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"",
	"", 
	"C_IC_NA_1 <100>总召唤命令 ", //100
	"C_CI_NA_1 <101>累计量召唤命令 ", 
	"C_RD_NA_1 <102>读命令 ", 
	"C_CS_NA_1 <103>时钟同步命令 ", 
	"C_TS_NA_1 <104>测试命令 ", 
	"C_RP_NA_1 <105>复位进程命令 ", 
	"C_CD_NA_1 <106>收集传输延时", 
	"C_TS_TA_1 <107> 带 CP56Time2a 时标的测试命令",
	"",
	"",
	"P_ME_NA_1 <110>  测量值参数 ，规一化值 ", 
	"P_ME_NB_1 <111> 测量值参数，标 度化值 ", 
	"P_ME_NC_1 <112> 测量值参数 ，短浮点数 ", 
	"P_AC_NA_1 <113> 参数激活 ", 
	"",
	"",
	"",
	"",
	"",
	"", 
	"F_FR_NA_1 <120>文件,淮备就绪 ", 
	"F_SR_NA_1 <121>节淮备就绪 ", 
	"F_SC_NA_1 <122>召唤目录，选择文件, ，召唤文件,召唤节 ", 
	"F_LS_NA_1 <123>最后的节，最后的段 ", 
	"F_AF_NA_1 <124>认可文件,认可节 ", 
	"F_SG_NA_1 <125>段 ", 
	"F_DR_NA_1 <126>目录 ", 
};



char * const weekday_list[] = {
	"星期错 Errday" , //星期从 1 - 7
	"星期一 Monday(Mon.)",
	"星期二 Tuesday(Tues.)",
	"星期三 Wednesday(Wed.)",
	"星期四 Thursday(Thur./Thurs.)",
	"星期五 Friday(Fri.)",
	"星期六 Saturday(Sat.)",
	"星期日 Sunday(Sun.)"
};



char * const DPIinfo[] = {"=0:中间状态或不确定" ,"=1:确定状态ON(开)","=2:确定状态OFF(合)","=3:中间状态或不确定"};
char * const SPIinfo[] = {"=0:ON(开)" ,"=1:OFF(合)"};
char * const BLinfo[] = {"=0:未被闭锁","=1:被闭锁"};
char * const SBinfo[] = {"=0:未被取代","=1:被取代"};
char * const NTinfo[] = {"=0:当前值","=1:非当前值"};
char * const IVinfo[] = {"=0:有效","=1:无效"};
char * const OVinfo[] = {"=0:未溢出","=1:溢出"};
char * const BSIinfo[] = {"=0:设备未在瞬变状态","=1:设备处于瞬变状态"};
char * const EIinfo[] = {"=0:动作时间有效","=1:动作时间无效"};

char * const SL1info[] = {"=0:A相保护未启动","=1:A相保护启动"};
char * const SL2info[] = {"=0:B相保护未启动","=1:B相保护启动"};
char * const SL3info[] = {"=0:C相保护未启动","=1:C相保护启动"};

char * const GSinfo[] = {"=0:无总启动","=1:总启动"};
char * const SIEinfo[] = {"=0:接地电流保护未启动","=1:接地电流保护启动"};
char * const SRDinfo[] = {"=0:反向保护未启动","=1:反向保护启动"};

char * const GCinfo[]  = {"=0:无总命令输出至输出电路","=1:总命令输出至输出电路"};
char * const CL1info[] = {"=0:无命令输出至 A 相输出电路","=1:命令输出至 A 相输出电路"};
char * const CL2info[] = {"=0:无命令输出至 B 相输出电路","=1:命令输出至 B 相输出电路"};
char * const CL3info[] = {"=0:无命令输出至 C 相输出电路","=1:命令输出至 C 相输出电路"};


char * const CAinfo[] = {"=0:上次读数后计数器未被调整","=1:上次读数后计数器被调整"};
char * const CYinfo[] = {"=0:在相应的累加周期内计数器未溢出","=1:在相应的累加周期内计数器溢出"};

#endif /* #if (ENABLE_PKT_PARSER) */
